home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / CPP / WFC010.ZIP / INCLUDE / CNETFILE.HPP < prev    next >
C/C++ Source or Header  |  1995-12-07  |  2KB  |  100 lines

  1. #if ! defined( NETWORK_FILE_CLASS_HEADER )
  2.  
  3. /*
  4. ** Author: Samuel R. Blackburn
  5. ** CI$: 76300,326
  6. ** Internet: sammy@sed.csc.com
  7. **
  8. ** You can use it any way you like as long as you don't try to sell it.
  9. **
  10. ** Any attempt to sell WFC in source code form must have the permission
  11. ** of the original author. You can produce commercial executables with
  12. ** WFC but you can't sell WFC.
  13. **
  14. ** Copyright, 1995, Samuel R. Blackburn
  15. **
  16. ** $Workfile: $
  17. ** $Revision: $
  18. ** $Modtime: $
  19. */
  20.  
  21. #define NETWORK_FILE_CLASS_HEADER
  22.  
  23. class CNetworkFileInformation : public CObject
  24. {
  25.    DECLARE_SERIAL( CNetworkFileInformation )
  26.  
  27.    private:
  28.  
  29.       void m_Initialize( void );
  30.  
  31.    public:
  32.  
  33.       CNetworkFileInformation();
  34.  
  35.       /*
  36.       ** Can't make Copy take a const pointer because Microsoft screwed up the 
  37.       ** net API header files...
  38.       */
  39.  
  40.       CNetworkFileInformation( FILE_INFO_3 *information_p );
  41.       CNetworkFileInformation( const CNetworkFileInformation& source );
  42.       virtual ~CNetworkFileInformation();
  43.  
  44.       DWORD   ID;
  45.       DWORD   Permissions;
  46.       DWORD   NumberOfLocks;
  47.       CString PathName;
  48.       CString UserName;
  49.  
  50.       /*
  51.       ** Can't make Copy take a const pointer because Microsoft screwed up the 
  52.       ** net API header files...
  53.       */
  54.  
  55.       virtual void Copy( FILE_INFO_3 *source );
  56.       virtual void Copy( const CNetworkFileInformation& source );
  57.       virtual void Empty( void );
  58.       virtual void Serialize( CArchive& archive );
  59. };
  60.  
  61. class CNetworkFiles : public CNetwork
  62. {
  63.    DECLARE_SERIAL( CNetworkFiles )
  64.  
  65.    private:
  66.  
  67.       void m_Initialize( void );
  68.  
  69.    protected:
  70.  
  71.       /*
  72.       ** Workstation information variables
  73.       */
  74.  
  75.       FILE_INFO_3 *m_103InformationBuffer;
  76.  
  77.       /*
  78.       ** File Information enumeration variables
  79.       */
  80.  
  81.       DWORD m_103ResumeHandle;
  82.       DWORD m_103CurrentEntryNumber;
  83.       DWORD m_103NumberOfEntriesRead;
  84.       DWORD m_103TotalNumberOfEntries;
  85.  
  86.    public:
  87.  
  88.       CNetworkFiles();
  89.       CNetworkFiles( LPCTSTR machine_name );
  90.       virtual ~CNetworkFiles();
  91.  
  92.       virtual void  Close( void );
  93.       virtual BOOL  Close( CNetworkFileInformation& file_to_close );
  94.       virtual BOOL  Enumerate( void );
  95.       virtual BOOL  GetNext( CNetworkFileInformation& information );
  96.       virtual void  Serialize( CArchive& archive );
  97. };
  98.  
  99. #endif // NETWORK_FILE_CLASS_HEADER
  100.